var WebSocket = require('ws');
var WebSocketServer = WebSocket.Server;

//流数据转换格式
const { StringDecoder } = require('string_decoder');
const decoder = new StringDecoder('utf8');


wss = new WebSocketServer({ port: 8181 });

wss.on('connection', function (ws) {
    console.log('client connected');
    ws.on('message', function (message) {
        //服务端接收到是流数据，必须把流数据转化成字符串
        console.log(decoder.write(message));
    });

    
    setInterval(()=>{
        ws.send(JSON.stringify({
            data: [
                {
                  name: '南阳',
                  value: Math.floor(Math.random() * (100 - 0)) + 1
                },
                {
                  name: '周口',
                  value: Math.floor(Math.random() * (100 - 0)) + 1
                },
                {
                  name: '漯河',
                  value: Math.floor(Math.random() * (100 - 0)) + 1
                },
                {
                  name: '郑州',
                  value: Math.floor(Math.random() * (100 - 0)) + 1
                },
                {
                  name: '西峡',
                  value: Math.floor(Math.random() * (100 - 0)) + 1
                }
              ]
        }));
    },1000)

    
});


//当客户端长时间没有反应时，会发生 WebSocket 自动断开的情况
// 在此，提供一个使用定时器的解决方案 …